NAS部署,一键生成 STRM 文件,打造你的专属流媒体库!

5 次浏览
0 评论

 本文共计2534字,预计需要花费 4分钟才能阅读完成。

本项目需要已经部署好 OpenList 服务。并且影视软件支持 Strm。例如:绿联的影视中心,极空间的极影视,Emby,Jellyfin 等。飞牛影视暂不支持。


详细介绍

Strm 是什么?

简单来说Strm就是一个软链接,指向一条通往真正媒体文件等路径,这个路径可以是直链,也可以是本地路径。Strm 文件可用于任何类型的视频,例如电影、剧集、音乐视频、家庭视频等,只需将 .strm 文件放在您想要的位置,就好像它是视频文件一样。

OpenList to Stream 是什么?

OpenList to Stream 是一个为 OpenList 提供 STRM 文件生成服务的工具,支持将网盘资源自动转换为 Emby/Jellyfin 可识别的 .strm 文件,实现远程播放、自动同步、媒体库联动等功能。


✨ 特点

  • 🎬 STRM 文件生成: 自动将 OpenList 文件列表转换为 STRM 流媒体文件
  • 📋 任务管理: 支持创建、编辑和删除转换任务,Web 界面操作
  • ⏰ 定时执行: 基于 Cron 表达式的定时任务调度
  • 🔄 增量更新: 支持增量和全量两种更新模式
  • 🔍 AI刮削: 支持根据文件名、文件路径等信息,可配置AI进行媒体刮削
  • 🔐 用户认证: 基于 JWT 的安全认证系统
  • 🐳 容器化部署: 完整的 Docker 支持,一键部署

部署指南

单容器部署

docker run -d \
  --name openlist-strm \
  -p 3111:80 \
  -v ./config:/app/data/config \
  -v ./logs:/app/data/log \
  -v ./strm:/app/backend/strm \
  --restart always \
  hienao6/openlist-strm:latest

3111:冒号前面的端口可以改为未使用的端口。例如:3113:80。

Docker Compose 部署

docker-compose.yml 文件,本教程使用此 Compose:

services:
  app:
    image: hienao6/openlist-strm:latest
    container_name: openlist-strm
    ports:
      - "3111:80"
    volumes:
      - ./config:/app/data/config    # 配置文件和数据库存储
      - ./logs:/app/data/log         # 日志文件存储
      - ./strm:/app/backend/strm     # STRM 文件输出目录
    restart: always

3111:冒号前面的端口可以改为未使用的端口。例如:3113:80。


使用

  1. 在浏览器输入:http://<NASIP>:3111/register 进行注册
  2. 注册成功后会自动跳转到登录页面,如果没跳转手动输入网址:http://<NASIP>:3111
  3. 输入刚刚注册的用户名和密码进行登录成功后,点击右上角进行系统设置
  • 媒体文件设置
  • TMDB API 配置

    申请步骤可以参考 📖 获取 TMDB API
  • 刮削设置
  • AI 文件名识别设置(可选)

    启用 AI 文件名识别可以提高 TMDB 刮削准确性
    最后记得点击页面最下面的 保存设置 按钮进行保存
  1. 添加 OpenList

  2. BaseUrl 是你 OpenList 的网址,如http://192.168.123.1:5244
  3. token 为 OpenList 的令牌,可以在OpenList 后台的设置 ->其他 ->令牌 处获得
  4. 添加任务


  5. 任务名称 随便填,自己能认得出来就行。
  6. 任务路径 需要执行任务的目录去掉 BaseUrl,例如电影目录 Url 为:http://192.168.123.1:5244/189media/movie,这里就应该填 /189media/movie
  7. Strm 路径 此路径为该任务Strm 文件生成的路径,前面路径固定不可更改是用来映射到宿主机的路径,如不了解的花去了解下 docker 镜像挂载目录的相关知识。
  8. 定时任务表达式 留空时,只能手动生成 Strm,写正则表达式时,会按照指定时间自动执行 Strm 文件生成任务。
  9. 重命名 一般留空就好。
  10. 需要刮削(生成NFO和封面) 勾选的话,会生成 NFO 和 封面,不需要不勾选。
  11. 增量更新 勾选的话,每次Strm 生成前,先检查是否已生成过,生成过的话就跳过了,如果不勾选,每次任务执行前,会先清空对应目录的Strm 文件,然后重新生成。

由于自动执行设置的时间还未到,可以先手动点击 立即执行 进行首次生成

  • 增量更新: 只处理变化的文件,速度快,适合日常维护
  • 全量更新: 重新处理所有文件,确保完整性,适合初始化或修复
  1. 确认 strm 文件
    上面使用的 compose 部署的 strm 路径是 Docker 目录的 strm 文件夹。要根据自己的实际路径进行查找。

现在 strm 已经生成成功。可以用自己熟悉支持 strm 格式的视频软件进行添加使用。


常见问题

Q: 如何设置定时任务?
A: 在任务配置中使用 Cron 表达式,例如:

  • 0 2 * * * - 每天凌晨2点执行
  • 0 */6 * * * - 每6小时执行一次

Q: 增量更新和全量更新的区别?
A: 增量更新只处理变化的文件,速度快;全量更新重新处理所有文件,确保完整性。

Q: STRM 文件输出到哪里?
A: 输出到容器的 /app/backend/strm 目录,对应宿主机的 ./strm 目录。

Q: STRM 打开失败?
A: 首先检查下 OpenList 的管理员账户(用户名“admin”)是否启用了Webdav。另外需要再“设置--全局”里面,将“签名所有”关闭。


结尾

  • 🎬 你的媒体库还在手动搬资源?快试试 STRM 自动生成吧!
  • 💬 有任何部署问题或使用心得,欢迎在评论区交流~
  • 🛠️ 如果你也在折腾 NAS 和开源工具,点个“在看”我们一起优化!

正文完
 0
评论(暂无评论)